Vererbung - Polymorphie

  • Objekte einer Klasse können auch als Objekte der Superklasse
    behandelt werden
  • Objekte gleicher Superklasse können so z.B. in einem Array
    zusammen gespeichert werden

截屏2024-04-27 16.08.36.png

截屏2024-04-27 16.09.14.png

Interfaces

  • enthält nur Methodenköpfe
  • wird ein Interface von einer Klasse implementiert, muss diese auch die Methoden des Interfaces implementieren
  • „Vererbung" von mehreren „Klassen"

截屏2024-04-27 16.10.42.png截屏2024-04-27 16.10.54.png

Abstrakte Klassen

  • im Gegensatz zu Interfaces Vererbung (von Attributen und
    Methoden) möglich
  • zu implementierende Funktionen werden mit dem Stichwort abstract gekennzeichnet und sind (wie bei Interfaces) nur Funktionsköpfe
  • wenn eine Klasse von einer abstrakten Klasse erbt, muss diese auch die abstrakten Funktionen der Superklasse implementieren

截屏2024-04-27 16.13.16.png截屏2024-04-27 16.13.41.png

Generics

• wenn noch unbekannt, welchen Datentyp ein Objekt hat

Beispiel:

Ihr schreibt einen Algorithmus, der zwei Arrays miteinander vergleicht.

Der Algorithmus funktioniert dabei immer gleich, egal welcher Datentyp in den Arrays gespeichert ist. Ihr wollt allerdings nicht für jeden Datentypen eine eigene Klasse schreiben.
截屏2024-04-27 16.15.25.png
截屏2024-04-27 16.15.54.png
截屏2024-04-27 18.03.53.png

4 Säulen der OOP

截屏2024-04-27 16.29.26.png截屏2024-04-27 16.32.15.png